package framework.formfields;

import java.lang.reflect.Field;
import java.text.SimpleDateFormat;

import framework.FormField;

public class FormCheckboxField extends FormField {

	private String[] opcoes;

	public FormCheckboxField(Field field) throws SecurityException,
	NoSuchFieldException {
		super(field);
		opcoes = null;
	}
	
	public FormCheckboxField(Field field, String[] opcoes) throws SecurityException,
	NoSuchFieldException {
		super(field);
		this.opcoes = opcoes;
	}

	public String gerarLinha(Object objeto) throws Exception, Throwable {
		String linhaGerada = "<tr> <td>" + getLabel() + "</td>" ;
		if(opcoes==null){
			linhaGerada += "<td><INPUT TYPE=\"CHECKBOX\" value=\"true\" name=\"" + getField().getName() + "\"";
			if(getField().get(objeto).equals(true)){
				linhaGerada += " checked=\"checked\"";
			}
			linhaGerada += ">Sim</td></tr>\n";
		}
		else{
			linhaGerada += "<td>";
			String[] escolhas = (String[]) getField().get(objeto);
			for (int i = 0; i < opcoes.length; i++)
			{
				linhaGerada += "<INPUT TYPE=\"CHECKBOX\" value=\"" + opcoes[i] + "\" name=\"" + getField().getName() + "\"";
				for(int j=0;j<escolhas.length;j++)
				if (escolhas[j].equals(opcoes[i]))
				{
					linhaGerada += " checked=\"checked\"";
				}
				linhaGerada += ">" + opcoes[i];
			}
			linhaGerada += "</td></tr>\n";
		}
		return linhaGerada;
	}
}
